package com.fosdata.dpm.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.time.LocalDateTime;
import java.io.Serializable;


/**
 * <p>
 * 箱变资料说明
 * </p>
 *
 * @author gyk
 * @since 2025-10-22
 */
@TableName("xb_basic_info")
public class XbBasicInfo extends Model<XbBasicInfo> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 箱变名称
     */
    private String xbName;

    /**
     * 箱变编码;关联箱变表
     */
    private String xbCode;

    /**
     * 线路编号;关联线路表
     */
    private String lineCode;

    /**
     * 所属组织;关联组织表
     */
    private String xbOrg;

    /**
     * 箱变类型;关联箱变类型
     */
    private String xbType;

    /**
     * 是否启用;1启用0不器用
     */
    private String xbIsuse;

    /**
     * 经度
     */
    private String xbLong;

    /**
     * 维度
     */
    private String xbDim;

    /**
     * 投运日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDateTime touyunTime;

    /**
     * 使用年限
     */
    private String useYear;

    /**
     * 设备厂商
     */
    private String devFactory;

    /**
     * 删除;1删除 0正常
     */
    private String delFlag;

    @TableField(exist = false)
    private String orgName;

    @TableField(exist = false)
    private String typeName;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getXbName() {
        return xbName;
    }

    public void setXbName(String xbName) {
        this.xbName = xbName;
    }

    public String getXbCode() {
        return xbCode;
    }

    public void setXbCode(String xbCode) {
        this.xbCode = xbCode;
    }

    public String getLineCode() {
        return lineCode;
    }

    public void setLineCode(String lineCode) {
        this.lineCode = lineCode;
    }

    public String getXbOrg() {
        return xbOrg;
    }

    public void setXbOrg(String xbOrg) {
        this.xbOrg = xbOrg;
    }

    public String getXbType() {
        return xbType;
    }

    public void setXbType(String xbType) {
        this.xbType = xbType;
    }

    public String getXbIsuse() {
        return xbIsuse;
    }

    public void setXbIsuse(String xbIsuse) {
        this.xbIsuse = xbIsuse;
    }

    public String getXbLong() {
        return xbLong;
    }

    public void setXbLong(String xbLong) {
        this.xbLong = xbLong;
    }

    public String getXbDim() {
        return xbDim;
    }

    public void setXbDim(String xbDim) {
        this.xbDim = xbDim;
    }

    public LocalDateTime getTouyunTime() {
        return touyunTime;
    }

    public void setTouyunTime(LocalDateTime touyunTime) {
        this.touyunTime = touyunTime;
    }

    public String getUseYear() {
        return useYear;
    }

    public void setUseYear(String useYear) {
        this.useYear = useYear;
    }

    public String getDevFactory() {
        return devFactory;
    }

    public void setDevFactory(String devFactory) {
        this.devFactory = devFactory;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getOrgName() {
        return orgName;
    }

    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    @Override
    public String toString() {
        return "XbBasicInfo{" +
                "id=" + id +
                ", xbName='" + xbName + '\'' +
                ", xbCode='" + xbCode + '\'' +
                ", lineCode='" + lineCode + '\'' +
                ", xbOrg='" + xbOrg + '\'' +
                ", xbType='" + xbType + '\'' +
                ", xbIsuse='" + xbIsuse + '\'' +
                ", xbLong='" + xbLong + '\'' +
                ", xbDim='" + xbDim + '\'' +
                ", touyunTime=" + touyunTime +
                ", useYear='" + useYear + '\'' +
                ", devFactory='" + devFactory + '\'' +
                ", delFlag='" + delFlag + '\'' +
                '}';
    }
}
